/**
 * 创建时间： 2017年5月6日
 *
 * @Copyright 武汉雷软科技有限公司
 */
package com.lrkj.framework.constant.listener;

import java.util.LinkedList;
import java.util.List;

import org.springframework.beans.factory.annotation.Value;

import com.lrkj.framework.util.scan.ClassUtil;

/**
 * 
 * <pre>
 * 创建人： 郭亮
 * 类描述：
 * 版本号：0.0.1
 * 修改人：
 * 修改时间：
 * 修改内容：
 * </pre>
 */
public class ConstantProperties {

    /**
     * 扫描的包
     */
    @Value("${constant.package}")
    private String[] packageNames = null;

    /**
     * 需要解析的类
     */
    private LinkedList<Class<?>> classes = new LinkedList<>();

    private String content = null;

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public void setPackageName(String[] packageNames) {
        this.packageNames = packageNames;
    }

    public String[] getPackageName() {
        return packageNames;
    }

    public LinkedList<Class<?>> getClasses() {
        if (packageNames != null && packageNames.length > 0) {
            for (String packageName : packageNames) {
                List<Class<?>> clss = ClassUtil.getClasses(packageName);
                for (Class<?> cls : clss) {
                    if (!cls.getName().contains("$")) {
                        classes.add(cls);
                    }
                }
            }
        }
        return classes;
    }
}